[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 5C  - Netbios Interface                                                [N]

   ES:BX -> network control block (NCB) (see below)

Return: AL = status (see below)
Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level
     programming interface to the IBM PC Network; the first implementation
     was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many
     current networks support NetBIOS as the session layer.

Note:  The Sytek PCnet card uses DMA 3.

See Also: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B

Values for NetBIOS status:
 00h   successful
 01h   bad buffer size
 03h   invalid NETBIOS command
 05h   timeout
 06h   receive buffer too small
 07h   No-ACK command failed
 08h   bad session number
 09h   LAN card out of memory
 0Ah   session closed
 0Bh   command has been cancelled
 0Dh   name already exists
 0Eh   local name table full
 0Fh   name still in use, can't delete
 11h   local session table full
 12h   remote PC not listening
 13h   bad NCB_NUM field
 14h   no answer to CALL or no such remote
 15h   name not in local name table
 16h   duplicate name
 17h   bad delete
 18h   abnormal end
 19h   name error, multiple identical names in use
 1Ah   bad packet
 21h   network card busy
 22h   too many commands queued
 23h   bad LAN card number
 24h   command finished while cancelling
 26h   command can't be cancelled
 30h   name defined by another process (OS/2)
 34h   NetBIOS environment not defined, must issue reset (OS/2)
 35h   required operating system resources exhausted (OS/2)
 36h   maximum applications exceeded (OS/2)
 37h   no SAPs available for NetBIOS (OS/2)
 38h   requested resources not available (OS/2)
 40h   Lana System Error
 41h   Lana Remote Hot Carrier
 42h   Lana Local Hot Carrier
 43h   Lana No Carrier Detected
 44h   unusual network condition
 45h-4Dh hardware error
 4Eh   token ring is broken
 4Fh   token ring error
 50h   adapter malfunction
 F7h   error in explicit INITIALIZE
 F8h   error in implicit OPEN
 F9h   TOKREUI internal error
 FAh   hardware adapter testing
 FBh   NetBIOS emulator not found
 FCh   OPEN or OPEN_SAP failure
 FDh   unexpected adapter closure
 FFh   NetBIOS busy (command pending)

Format of Network Control Block:
Offset Size    Description
 00h   BYTE    command code (see below)
 01h   BYTE    return code
 02h   BYTE    local session number (LSN)
 03h   BYTE    "ncb_num" datagram table entry from ADD NAME
 04h   DWORD   -> I/O buffer
 08h   WORD    length of data in buffer
 0Ah 16 BYTEs  remote system to call
 1Ah 16 BYTEs  network name of local machine
 2Ah   BYTE    receive timeout in 1/2 seconds
 2Bh   BYTE    send timeout in 1/2 seconds
 2Ch   DWORD   -> FAR post handler /* int (far *ncb_post)(); */
 30h   BYTE    network adapter number on which to execute command
       00h-03h IBM NetBIOS specs
       F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")
 31h   BYTE    command completion code (see returned status above)
 32h 14 BYTEs  reserved for network card

Values for command code field in NCB (OR with 80h for non-waiting call):
 10h   start session with NCB_NAME name (call)
 11h   listen for call
 12h   end session with NCB_NAME name (hangup)
 14h   send data via NCB_LSN
 15h   receive data from a session
 16h   receive data from any session
 17h   send multiple data buffers
 20h   send unACKed message (datagram)
 21h   receive datagram
 22h   send broadcast datagram
 23h   receive broadcast datagram
 30h   add name to name table
 31h   delete name from name table
 32h   reset adapter card and tables
 33h   get adapter status (see structure "astatus" below)
 34h   status of all sessions for name (see structure "sstatus" below)
 35h   cancel
 36h   add group name to name table
 48h   send data and receive data (LAN Manager NETBEUI.DOS)
 70h   unlink from IBM remote program (no F0h function)
 71h   send data without ACK
 72h   send multiple buffers without ACK
 72h   UngermannBass Register (conflicts with above function)
 73h   UngermannBass SendNmc
 74h   UngermannBass Callniu
 75h   UngermannBass Calladdr
 76h   UngermannBass Listenaddr
 77h   UngermannBass SendPkt
 78h   find name
 78h   UngermannBass RcvPkt (conflicts with above function)
 79h   token-ring protocol trace
 79h   UngermannBass SendAttn (conflicts with above function)
 7Ah   UngermannBass RcvAttn
 7Bh   UngermannBass Listenniu
 7Ch   UngermannBass RcvRaw
 7Dh   UngermannBass SendNmc2
 7Fh   Beame&Whiteside BWNB installation check (returns with return code and
     completion code both set to 03h, while invalid functions return only
     return code field set to 03h)

Format of structure "name":
Offset Size    Description
 00h 16 BYTEs "nm_name" symbolic name
 10h   BYTE  "nm_num" number associated with name
 11h   BYTE  nm_status

Format of structure "astatus":
Offset Size    Description
 00h  6 BYTEs as_id
 06h   BYTE  as_jumpers
 07h   BYTE  as_post
 08h   BYTE  as_major
 09h   BYTE  as_minor
 0Ah   WORD  as_interval
 0Ch   WORD  as_crcerr
 0Eh   WORD  as_algerr
 10h   WORD  as_colerr
 12h   WORD  as_abterr
 14h   DWORD as_tcount
 18h   DWORD as_rcount
 1Ch   WORD  as_retran
 1Eh   WORD  as_xresrc
 20h  8 BYTEs as_res0
 28h   WORD  as_ncbfree
 2Ah   WORD  as_ncbmax
 2Ch   WORD  as_ncbx
 2Eh  4 BYTEs as_res1
 32h   WORD  as_sespend
 34h   WORD  as_msp
 36h   WORD  as_sesmax
 38h   WORD  as_bufsize
 3Ah   WORD  as_names
 3Ch 16 name structures     as_name

Format of structure "sstatus":
Offset Size    Description
 00h   BYTE    number of sessions being reported
 01h   BYTE    number of sessions with this name
 02h   BYTE    number of outstanding receive datagrams
 03h   BYTE    number of outstanding ReceiveAnys
 04h   var session structures (see below)

Format of structure "session":
Offset Size    Description
 00h   BYTE    local session number
 01h   BYTE    state
       01h listen pending
       02h call pending
       03h session established
       04h hangup pending
       05h hangup done
       06h session aborted
 02h 16 BYTEs  local name
 12h 16 BYTEs  remote name
 22h   BYTE    number of outstanding receives
 23h   BYTE    number of outstanding sends/chainsends

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson